package br.nsi.ardae.banco_teste;

import java.sql.*;
import java.util.*;


public class SimulaVendedor {
	
	private static SimulaVendedor unique = null;
	private static final int qtdVendedor = 300;
	
	private static List<String> listaNomes;
	private static List<String> listaEndereco;
	
	private SimulaVendedor(){
		createListaNomes();
		createListaEnderecos();
	}
	
	public static SimulaVendedor newSimulaVendedor(){
		if (SimulaVendedor.unique == null){
			SimulaVendedor.unique = new SimulaVendedor();
		}
		return SimulaVendedor.unique;
	}
	
	public static int getQtdVendedor(){
		return SimulaVendedor.qtdVendedor;
	}

	private void createListaNomes(){
		SimulaVendedor.listaNomes = new ArrayList<String>();
		
		SimulaVendedor.listaNomes.add("Leadro");
		SimulaVendedor.listaNomes.add("Rodrigo");
		SimulaVendedor.listaNomes.add("Rogerio");
		SimulaVendedor.listaNomes.add("Fabio");
		SimulaVendedor.listaNomes.add("Ronaldo");
		SimulaVendedor.listaNomes.add("Diego");
		SimulaVendedor.listaNomes.add("Gustavo");
		SimulaVendedor.listaNomes.add("Thiago");
		SimulaVendedor.listaNomes.add("Vanderson");
		SimulaVendedor.listaNomes.add("Gabriel");
		SimulaVendedor.listaNomes.add("Rafael");
		SimulaVendedor.listaNomes.add("Lucas");
		SimulaVendedor.listaNomes.add("Ewerton");
		SimulaVendedor.listaNomes.add("Willian");
		SimulaVendedor.listaNomes.add("Vinicius");
	}
	
	private void createListaEnderecos(){
		SimulaVendedor.listaEndereco = new ArrayList();
		
		SimulaVendedor.listaEndereco.add("Turf");
		SimulaVendedor.listaEndereco.add("Pelinca");
		SimulaVendedor.listaEndereco.add("Jockey");
		SimulaVendedor.listaEndereco.add("Centro");
		SimulaVendedor.listaEndereco.add("Portal1");
		SimulaVendedor.listaEndereco.add("Portal2");
		SimulaVendedor.listaEndereco.add("Penha");
		SimulaVendedor.listaEndereco.add("Goytacazes");
		SimulaVendedor.listaEndereco.add("Rosario");
		SimulaVendedor.listaEndereco.add("Alphaville");
		SimulaVendedor.listaEndereco.add("Copacabana");
		SimulaVendedor.listaEndereco.add("Ipanema");
		SimulaVendedor.listaEndereco.add("Botafogo");
		SimulaVendedor.listaEndereco.add("Barra");
		SimulaVendedor.listaEndereco.add("Gloria");
		SimulaVendedor.listaEndereco.add("Tijuca");
		SimulaVendedor.listaEndereco.add("Morumbi");
		SimulaVendedor.listaEndereco.add("VilaMadalena");
		SimulaVendedor.listaEndereco.add("Moca");
		SimulaVendedor.listaEndereco.add("Jardins");	
	}
	
	private String getNome(){
		return (String) this.listaNomes.get((int)(100*Math.random() % 15));
	}
	
	private String getEndereco(){
		return (String) this.listaEndereco.get((int)(100*Math.random() % 20));
	}
	
	private String getRg(){
		String rg=String.valueOf((int)(10*Math.random()));
		for (int i=1; i<9; i++){
			rg+=String.valueOf((int)(10*Math.random()));
		}
		return rg;
	}
	
	public void inserirVendedor(Connection conexao) throws SQLException{
		String nome = this.getNome();
		String endereco = this.getEndereco();
		String rg = this.getRg();
		
		System.out.println("nome: "+nome+" endereco: "+endereco+" rg: "+rg);
		
		PreparedStatement pstmt = conexao.prepareStatement("Insert into vendedor (nome, endereco, rg) values (?,?,?)");
		pstmt.setString(1, nome);
		pstmt.setString(2, endereco);
		pstmt.setString(3, rg);
		pstmt.executeUpdate();
		pstmt.close();
	}

}
